using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Entidades;
public partial class ABMPregunta : System.Web.UI.Page
{
	protected void Page_Load(object sender, System.EventArgs e)
	{
		if (!Page.IsPostBack) {
			preparaAlta();
		}
	}
	protected void linkPregunta_Click(object sender, System.EventArgs e)
	{
		traerTodos();
	}
	private void traerTodos()
	{
		try {
			grdPregunta.DataSource = Pregunta.TraerTodos();
			grdPregunta.DataBind();
		} catch (Exception ex) {
			grdPregunta.DataSource = null;
			grdPregunta.DataBind();
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void linkAceptar_Click(object sender, System.EventArgs e)
	{
		try {
			Pregunta pregunta = new Pregunta();
			pregunta.IdPostulacion =int.Parse(txtIdPostulacion.Text.ToString());
			pregunta.IdUsuario = int.Parse(txtIdUsuario.Text.ToString());
			pregunta.strPregunta = txtPregunta.Text.ToString();
			pregunta.FechaAlta = DateTime.Parse(txtFechaAlta.Text.ToString());
            pregunta.FechaBaja = DateTime.Parse(txtFechaBaja.Text.ToString());
			pregunta.IdMotivoBajaPregunta = int.Parse(txtIdMotivoBajaPregunta.Text.ToString());
            pregunta.IdUsuarioBajaPregunta = int.Parse(txtIdUsuarioBajaPregunta.Text.ToString());
			if (ViewState["Id"] == null) {
				pregunta.Alta();
			} else {
				pregunta.Id = int.Parse(ViewState["Id"].ToString());
				pregunta.Modificar();
			}
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		} finally {
			blanquearCampos();
		}
	}
	protected void grdPregunta_RowDeleting(object sender, System.Web.UI.WebControls.GridViewDeleteEventArgs e)
	{
		try {
            Pregunta pregunta = new Pregunta(int.Parse(grdPregunta.DataKeys[e.RowIndex].Values["Id"].ToString()));
			pregunta.Baja();
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void grdPregunta_SelectedIndexChanged(object sender, System.EventArgs e)
	{
		try {
			preparaModificacion();
			ViewState["Id"] = grdPregunta.SelectedDataKey.Values["Id"];
			Pregunta pregunta = new Pregunta(int.Parse(ViewState["Id"].ToString()));
            txtIdPostulacion.Text = pregunta.IdPostulacion.ToString();
            txtIdUsuario.Text = pregunta.IdUsuario.ToString();
            txtPregunta.Text = pregunta.strPregunta.ToString();
            txtFechaAlta.Text = pregunta.FechaAlta.ToString();
            txtFechaBaja.Text = pregunta.FechaBaja.ToString();
            txtIdMotivoBajaPregunta.Text = pregunta.IdMotivoBajaPregunta.ToString();
            txtIdUsuarioBajaPregunta.Text = pregunta.IdUsuarioBajaPregunta.ToString();
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void linkNuevo_Click(object sender, System.EventArgs e)
	{
		preparaAlta();
	}
	private void blanquearCampos()
	{
		txtIdPostulacion.Text = "";
		txtIdUsuario.Text = "";
		txtPregunta.Text = "";
		txtFechaAlta.Text = "";
		txtFechaBaja.Text = "";
		txtIdMotivoBajaPregunta.Text = "";
		txtIdUsuarioBajaPregunta.Text = "";
	}
	private void preparaAlta()
	{
		ViewState.Remove("Id");
		lbl.Text = "Alta de datos";
	}

	private void preparaModificacion()
	{
		lbl.Text = "Modificacion de datos";
	}
}
